Network design system

ABSTRACT

An operator sets a path demand to be accommodated, and sets information of a device candidate, the number of ports, a path route and the like, which are demanded for a network, in an objective function that indicates a total cost when the path demand to be accommodated is newly included in the network. A mathematical programming problem for minimizing the objective function under a constraint condition derived from a configuration of the network is set, and a solution is obtained by using a solver for solving the mathematical programming problem. A device is added or the like to the network based on the obtained solution, and the demanded path is added to the network.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2011-035010, filed on Feb. 21, 2011, the entire contents of which are incorporated herein by reference.

FIELD

The embodiment discussed herein is related to a network design system for simultaneously designing a device configuration, a route, and the number of used physical ports (link aggregation), which minimize a cost (power, the amount of money), when a path demand between sites is accommodated.

BACKGROUND

With an increase in traffic flowing into a network, a network device has been growing in size and improving in performance, and the amount of power consumption and an operating cost (referred to as a cost inclusive of the amount of power consumption and the operating cost) has been increasing.

In the meantime, redundant lines and devices are arranged to accommodate traffic in many cases in a current network. With an optimum arrangement of lines and devices, cost reductions such as power saving and the like of the entire network can be expected. However, a suitable arrangement of lines and devices differs depending on a traffic transfer state (path). Therefore, it is important to comprehensively consider an arrangement of a traffic route (path), lines and devices, and the like when a power-saving network configuration is derived.

Incidentally, there is a problem that a network design in consideration of a dependency among diverse design elements (route, line, device) is difficult with a conventional manual design. Therefore, a technique for automatically designing a network configuration that minimizes power (or cost) by systematizing a design process in consideration of a correlation among the design elements is demanded.

As a conventional method of making a network design including a route, there is an incremental design method of accommodating each path demand (a demand for laying a communication route between desired sites with a desired capacity). A MAX-PACK method of determining a traffic transfer route so that an expansion (line addition) cost is minimized is normally known.

This conventional method does not lose generality, also enabling a route design that minimizes power even if cost (the amount of money) is replaced with the amount of power consumption.

These methods mainly aim at minimizing a cost (the amount of money or power) of each added line (port) as an expansion (line addition) cost. However, there are not so many actual network devices that can be added in units of ports.

By way of example, for a box type device implemented by incorporating a port group of each line type into a housing, design measures are taken such that

the device is left unchanged if the available ports of the device remain, or

the device is replaced if the number of ports of the device is insufficient as a result of adding a port when a path is accommodated.

Similarly, for a chassis type device implemented by handling a port group of each line type as a network card (package), design measures are taken such that

the device is left unchanged if the available ports of the network card remain, or

the device is replaced with a network card that can accommodate a corresponding number of ports if the number of ports of the network card is insufficient

as a result of adding a port when a path is accommodated.

This means that the cost is not determined in units of ports but in units of devices or packages including a port group.

Accordingly, with a conventional design of a minimum cost path based on cost per port, only a change of cost (power or the amount of money) estimated by accumulating cost of each port can be determined, and a possible change of cost (power or the amount of money) incurred by arranging a device/package in an actual network cannot be suitably judged.

For example, also from the viewpoint of the amount of power consumption, the amount of power consumption of an actual device or package does not vary depending on a use state of a port, and a certain amount of power is consumed. Therefore, a change of an actual cost (power) cannot be estimated by accumulating a cost of each port.

FIGS. 1 and 2 are explanatory views of the problem of the conventional method.

A design example to which the conventional method is applied is described. As illustrated in FIG. 1, a design of a path and a line (port) when a path demand is given under a condition that a device with low cost (power) per port and a device with high cost per port are respectively arranged on an upper route and a lower route is considered. At this time, the conventional design in consideration of only cost per port produces results such that the upper route is selected and a port is simply added to an upper node.

In the meantime, a case where actual box type devices A and B illustrated in FIG. 2 are assumed by taking FIG. 1 as an example and a cost (power) per port of each of the devices is estimated as follows

device A: 5/12=0.42 (cost/ports)

device B: 20/24=0.83 (cost/ports)

is considered.

Also at this time, a result such that the upper path is selected is produced with the conventional design based on a cost per port similarly to FIG. 1. Actually, however, a case where the minimum cost (power) cannot be achieved is considered as follows.

For example, in a case where the number of remaining ports is zero in the device A and the number of remaining ports is too many in the device B when a port is designed to be added at the time of path demand accommodation,

1. if the upper route is allocated, the device A needs to be replaced with the device B, leading to an increase in cost (power) incurred by replacing the device. 2. if the route goes through the device B with higher cost per port, the device B does not need to be changed because the number of ports is too many. Therefore, the cost (power) does not change.

Accordingly, assuming such an actual environment, a route selection and a line/device arrangement, which minimize a cost (power), cannot be implemented only based on a conventional cost determination made in units of ports.

PATENT DOCUMENT

-   [Patent Document 1] Japanese Laid-open Patent Publication No.     2009-296211 -   [Non-patent Document 1] “Quasi-dynamic Design in Multi-layered     Photonic Network”, Koichi Kanie, Hiroshi Hasegawa, Kenichi Sato,     PN2006-18, pp. 45-50

SUMMARY

A network design system in one aspect of this embodiment is a network design system for designing a path and a device configuration, which are demanded for a network. The network design system includes: a setting unit configured to set an objective function that indicates a device cost, and a constraint condition to be considered when the objective function is minimized by using information of a band demand of a path newly demanded between a starting site and an end site of the demanded path, a type of a device candidate that can be arranged at each site, and information of the number of ports in each device; and a deriving unit configured to derive how to arrange a path, how to arrange a device, and the number of used ports by obtaining a solution to a mathematical programming problem for minimizing the objective function under the constraint condition.

According to the embodiment described below, a network design system that can design a route, a device, the number of used ports, and the like, which minimizes a cost increased by accommodating a path, in consideration of a relationship between an upper limit of the number of ports of each device and a cost based on device candidates is provided.

The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.

It is to be understood that both the forgoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an explanatory view (No. 1) of a problem of a conventional method;

FIG. 2 is an explanatory view (No. 2) of the problem of the conventional method;

FIG. 3 is an explanatory view (No. 1) of operations of an embodiment when a cost increases;

FIG. 4 is an explanatory view (No. 2) of the operations of the embodiment when a cost increases;

FIG. 5 is an explanatory view of problem setting used in the embodiment;

FIG. 6 is a flowchart illustrating a flow of a process in the embodiment;

FIG. 7 illustrates a configuration of a network design system according to the embodiment;

FIG. 8 is an explanatory view (No. 1) of a design method according to the embodiment;

FIG. 9 is an explanatory view (No. 2) of the design method according to the embodiment;

FIG. 10 is an explanatory view (No. 3) of the design method according to the embodiment;

FIG. 11 is an explanatory view of a design method when a path/device selection and a line design are made in the embodiment;

FIG. 12 is an explanatory view of a definition of a particular parameter in the design method when a path/device selection and a line design are made in the embodiment;

FIG. 13 is an explanatory view (No. 1) of a design method when a path/device selection and a line design are made in the embodiment and are solved as a global optimization problem;

FIG. 14 is an explanatory view (No. 2) of the design method when the path/device selection and the line design are made in the embodiment and solved as the global optimization problem;

FIG. 15 is a schematic (No. 1) illustrating a method implemented by adopting an incremental approach in the path/device selection and line design method according to the embodiment;

FIG. 16 is a schematic (No. 2) illustrating the method implemented by adopting the incremental approach in the path/device selection and line design method according to the embodiment;

FIG. 17 is a schematic (No. 3) illustrating the method implemented by adopting the incremental approach in the path/device selection and line design method according to the embodiment;

FIG. 18 is a schematic (No. 4) illustrating the method implemented by adopting the incremental approach in the path/device selection and line design method according to the embodiment;

FIG. 19 is an explanatory view (No. 1) of the line/device design method when the traffic state is explicitly given;

FIG. 20 is an explanatory view (No. 2) of the line/device design method when the traffic state is explicitly given;

FIG. 21 is an explanatory view (No. 3) of the line/device design method when the traffic state is explicitly given;

FIG. 22 is an explanatory view (No. 4) of the line/device design method when the traffic state is explicitly given;

FIG. 23 is an explanatory view (No. 5) of the line/device design method when the traffic state is explicitly given;

FIG. 24 is an explanatory view (No. 1) of a method implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 13 and 14;

FIG. 25 is an explanatory view (No. 2) of the method implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 13 and 14;

FIG. 26 is an explanatory view (No. 3) of the implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 13 and 14;

FIG. 27 is an explanatory view (No. 1) of a method implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 15 to 18;

FIG. 28 is an explanatory view (No. 2) of the method implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 15 to 18;

FIG. 29 is an explanatory view (No. 3) of the method implemented by applying the design method assuming a chassis type device to the method illustrated in FIGS. 15 to 18;

FIG. 30 is an explanatory view (No. 1) of a method implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 19 to 23;

FIG. 31 is an explanatory view (No. 2) of the method implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 19 to 23;

FIG. 32 is an explanatory view (No. 3) of the method implemented by applying a design method assuming a chassis type device to the method illustrated in FIGS. 19 to 23; and

FIG. 33 illustrates an example of a hardware configuration of a computer needed when the design method according to the embodiment is executed with a program.

DESCRIPTION OF EMBODIMENTS

The embodiment provides a means for sequentially determining a path so that a cost of a device arranged at each site is minimized, and identifies a path so that a cost (power or the amount of money) of a device to be arranged is minimized when a path demand (a traffic band demanded between sites) is accommodated.

This embodiment is implemented with the following operations.

1. design without a cost change

Setting a path route for a path demand without changing a currently considered device.

2. If a cost is forced to be changed, a design is made so that a cost change is minimized. Selecting a device having a sufficient number of available ports, and setting a path so that a total cost (power or the amount of money) of devices is minimized.

FIGS. 3 and 4 are explanatory views of operations of the embodiment when a cost increases.

FIG. 3 illustrates an example of sequentially designing two path demands (6 Gbps and 5 Gbps) to be accommodated under a condition that there are devices A and B that can be arranged in a network. Here, a design solution is given such that the first path 1 (6 Gbps) is already accommodated on an upper route and the device A is used. Moreover, in the device A that accommodates the path demand 1, a total of 12 ports are already determined to be arranged by designing input ports with a link aggregation of 6 ports (an aggregation of 6 links that connect 6 pairs of ports to one path) with the use of a 1-Gbps line, and by similarly designing outputs ports with 6 ports.

At this time, the next (5-Gbps) path 2 is selected to be accommodated with any of the following options when being designed to be accommodated.

If the path 2 is accommodated with a link aggregation using 5 ports respectively as input/output ports on the upper route, the number (12) of ports of the device A is insufficient. Therefore, the device A may be changed to the device B (cost increase=5).

If the path 2 is accommodated with a link aggregation using 5 ports respectively as input/output ports on the lower path, the device A with lower cost is arranged at a site where a device is not designed yet (cost increase=10).

As a result, a design solution to implement the minimum cost is to accommodate the path 2 on the upper route and to change the device A to the device B.

In contrast, FIG. 4 illustrates a case where a design condition is the same as that in the case of FIG. 3 and only a device candidate that can be arranged in a network differs. At this time, a path route is selected with any of the following options.

If the path 2 is accommodated with a link aggregation using 5 ports respectively as input/output ports on the upper route, the number (12) of ports of the device A is insufficient. Therefore, the device A may be changed to the device B (cost increase=10).

If the path 2 is accommodated with a link aggregation using 5 ports respectively as input/output ports on the lower route, a device C may be arranged at a site where a device is not designed yet (cost increase=5).

As a result, a design solution to implement the minimum cost is to accommodate the path 2 on the lower route and to arrange the device C at the site where a device is not designed yet.

As described above, a route and a device are identified based on device candidates so that a cost (power or the amount of money) incurred by arranging a device is minimized.

FIG. 5 is an explanatory view of problem setting used in this embodiment.

In this embodiment, as a problem of selecting a device that can accommodate a path demand, a relationship among a traffic route, a line rate and the number of used ports, and a constraint condition of an upper limit of the number of ports included in each device are formulated, and a network configuration that minimizes the total cost of devices deployed at sites is reduced to a 0-1 integer programming problem defined with a {0.1} variable that indicates whether or not to select a route (link aggregation)/device, and a design is made with a mathematical computation.

The problem setting in this embodiment is summarized as follows. Namely, conditional formulas such as

objective function: min{total cost of devices deployed at sites}

constraint conditions:

-   -   a traffic flow volume conservation condition in consideration of         a connection relationship     -   an upper limit condition of the number of used ports possessed         by each device     -   a condition of a device arranged at each site (only one device         exists at each site)         can be set and written as a problem of minimizing the objective         function under the constraint conditions.

Design Variables:

whether or not to use a link which a route of a path demand goes through: Xε{0,1}

whether or not to use a device: Zε{0,1}

are defined in the above described problem, and the objective function and the constraint conditions are formulated with a linear combination of these design variables, whereby a route solution (X=0, 1) and a device selection solution (Z=0, 1), which optimize the objective function, can be identified based on a mathematical computation. As link variables in this problem, two unidirectional link variables are defined for one physical link in order to design a route including a transfer direction.

FIG. 6 is a flowchart illustrating a flow of a process of this embodiment.

Initially, a path demand to be designed is obtained in step S10. In step S9, information of path and a device, which are currently designed to be accommodated, are obtained (step S15), and a design model (0-1 integer programming problem) is configured based on a connection relationship (topology) among sites, and definition information 10 of device candidates that can be arranged at each site (location). Step S9 is composed of steps S11 and S12. In step S11, an objective function to determine a device selection and a route is set. In step S12, a traffic flow volume conservation constraint, and a port number constraint condition and a device selection condition of each device are set based on the connection relationship among the sites. In step S13, a device and a path are calculated from the design model formulated in steps S9 and S10. In step S14, design results are stored. Then, the flow goes back to step S15.

For the calculations of the device and the path in step S13, an existing solver that can solve a 0-1 integer programming problem is used.

Solvers to a mathematical programming problem include free software and commercial software. By giving an input obtained by converting a structure of a linear programming problem or an integer programming problem into a format specified by each solver, a design solution to optimize (maximize or minimize) an objective function can be automatically calculated. Free solvers include the following software.

-GLPK:http://www.gnu.org/software/glpk/ -SCIP:http://scip.zib.de -lp-solve:http://lpsolve.sourceforge.net/5.5/ -Clp:https://projects.coin-or.org/Clp -OpenOpt:http://openopt.org/Welcome

An example problem for executing the solver lp_solve in statistic calculation software named R is described below (R: http://www.okada.jp.org/RWiki/?R%A4%C7%BF%F4%CD%FD%B7%D7%B2%E8%#h57b4eda)

If a 0-1 integer programming problem including objective function

maxx+9y+3z

and constraint conditions

x+2y+3z≦9

3x+2y+2z≦15

is solved,

f.obj = c(1,9,3) f.con = matrix(c(1,2,3,3,2,2),nrow = 2,byrow = TRUE)     [1][2][3]     [1]123     [2]322   f.dir = c(“≦”,“≦”)   f.rhs = c(9,15)   lp(“max”,f.obj,f.con,f.dir,f.rhs,all.bin = T)$solution

As a result, a vector of “1,1,1” is output, which indicates a solution of x=1, y=1, z=1.

In the meantime, if the same problem is solved as an integer programming problem,

f.obj = c(1,9,3) f.con = matrix (c(1,2,3,3,2,2),nrow = 2,byrow = TRUE) f.dir = c(“≦”,“≦”) f.rhs = c(9,15) lp(“max”,f.obj,f.con,f.dir,f.rhs,all.int = T)$solution is given. As a result, a vector of “1,4,0” is output, which indicates a solution of x=1, y=4, z=0.

f.obj obtained by vectorizing a coefficient of the objective function, f.con obtained by putting a coefficient into a matrix in a constraint condition formula where a term including a design variable is moved to the left side, f.dir obtained by vectorizing an equality/inequality of a constraint condition formula, and f.rhs obtained by vectorizing a constant term of a constraint condition formula are generated and given to a function lp( ) as parameters as described above, whereby a solution to the design variables that optimize (maximize or minimize) the objective function can be obtained as a vector.

FIG. 7 illustrates a system configuration of the network design system according to this embodiment.

An operator setting unit 20 provides an interface for receiving a display of a network state from a network design managing unit 21, configured to design and manage a state/configuration of a network, to an operator, for giving a device change instruction to a target network 26, or for giving a path setting instruction or a setting condition of a network device from the operator to the network design managing unit 21.

The network design managing unit 21 (a path managing unit 22 and a device managing unit 23) manages a state (path information and device information) of a network, derives an optimum network state/configuration according to a setting condition of a network device, which is given by the operator setting unit 20, and presents design results to the operator setting unit 20. Alternatively, the network design managing unit 21 automatically makes settings for an optimum path. A network state collecting unit 24 collects states of devices and paths in the network. The device managing unit 23 manages device information. The path managing unit 22 manages a route state of a path, and the volume of traffic.

A path setting unit 25 sets a route presented by the operator or automatically designed in a network 26. A condition inputting unit 27 sets a condition used when a network configuration is designed. A path demand setting unit 28 gives information of a path demand to be designed to a model configuring unit 29. A device candidate setting unit 30 gives information (cost, the number of ports, and the like) of a device that can be arranged in the network to the model configuring unit 29.

The model configuring unit 29 automatically configures a design model when a network configuration is designed. An objective function setting unit 31 formulates an objective function when the network configuration is designed. A constraint condition setting unit 32 formulates a constraint condition when the network configuration is designed. A NW (network) designing unit 33 computes an optimum path and a device selection based on a model formulated by the model configuring unit 29. For the NW designing unit 33, the above described solver for solving a mathematical programming problem is used.

According to this embodiment, a route/device selection/line (the number of ports), which minimize a device cost, can be automatically designed based on given device candidates in consideration of a relationship between the number of ports of each device and a cost (power or the amount of money).

FIGS. 8 to 10 are explanatory views of the design method according to this embodiment. In a topology where three sites are connected, a path 1 is designed to be accommodated from a site 2 to a site 1 to a site 3, and a device C is currently designed for the site 1.

Assume that a device selection and a route design are made when a path 2 (5 G) is additionally accommodated under this condition. Also assume that there are the following three types of devices that can be arranged in a network.

A device A has 12 1 G ports at cost 10.

A device B has 24 1 G ports at cost 20.

A device C has 10 1 G ports at cost 5.

Here, since the devices A, B and C can be arranged at the site 1, device design variables Z¹ _(A), Z¹ _(B) and Z¹ _(C), and link variables X_(1,2), X_(2,1), X_(1,3), and X_(3,1), which configure a route of the path 2, are defined.

For the convenience of explanation, device selections at the sites 2 and 3 are not included. In an actual design problem, however, device variables are respectively defined also for the sites.

This problem is formulated as illustrated in FIGS. 9 and 10.

The sum of costs of the arranged devices is minimized.

min{10Z ¹ _(A)+20Z ¹ _(B)+5Z ¹ _(C) +δX _(1,2) +δX _(2,1) +δX _(1,3) +δX _(3,1)}

In the above described objective function, Z^(k) _(i)=0 means that a device i is not arranged at a site k, and Z^(k) _(i)=1 means that the device i is arranged at the site k. Moreover, X_(i,j)=1 means that a link i->j is used, and X_(i,j)=0 means that the link i->j is not used.

Here, δ is an empirically obtained small value. If an objective function that describes only a device cost is minimized as a mathematical programming problem, not only traffic that heads in one direction but traffic that heads in that direction after turning around is permitted. Accordingly, by providing δ, a link itself is given a small cost, which increases if the link turns around, and traffic that turns around is eliminated as a solution to the mathematical programming problem.

constraint conditions

-   -   flow conservation law

The volume of input traffic and the volume of output traffic at a node are equal.

X _(1,2) −X _(2,1) +X _(1,3) −X _(3,1)=0

-   -   device port number constraint

The number of ports used to accommodate a path should not be smaller than the number of ports possessed by an arranged device.

0X _(1,2)+5X _(2,1)+5X _(1,3)+0X _(3,1)≦12Z ¹ _(A)+14Z ¹ _(B)+10Z ¹ _(C)−12

In the above provided constraint formula, a coefficient preceding X_(1,2) is 0. This indicates an increase in the number of ports used when 5 G traffic is accommodated on a link 1->2(X_(1,2)). In this case, a 6 G link already exists on a link 2->1, which is assumed to include transmission paths in both directions including one direction and its reverse direction, and the 5 G traffic can be accommodated without increasing a link. Therefore, the number of ports does not increase and remains unchanged as 0. A coefficient preceding X_(2,1) is 5. This indicates an increase in the number of ports used when the 5 G traffic is accommodated on a link 2->1(X_(2,1)). In this case, 6 G traffic is already accommodated on the link 2->1, which cannot accommodate traffic any more, and a link for newly accommodating the 5 G traffic is needed. A coefficient preceding X_(1,3) is 5. This indicates an increase in the number of ports when the 5 G traffic is accommodated on a link 1->3(X_(1,3)). A coefficient preceding X_(3,1) is 0. This indicates an increase in the number of ports used when the 5 G traffic is accommodated on a link 3->1(X_(3,1)).

A coefficient preceding Z¹ _(A) is 12. This indicates the number of ports of the device A. A coefficient preceding Z¹ _(B) is 24. This indicates the number of ports of the device B. A coefficient preceding Z¹ _(C) is 10. This indicates the number of ports of the device C. 12 that is subtracted last on the right side is the number of ports used on the path 1. Namely, a constraint formula of the number of ports of a device is represented as follows.

{The number of added port when the path 2 is accommodated}≦{the total number of ports when devices are selected}−{the number of ports used on the path 1}

device selection constraint

The number of devices arranged at each site should be one or less.

Z ¹ _(A) +Z ¹ _(B) +Z ¹ _(C)≦1

The variable Z takes only 0 or 1. Therefore, the above provided device selection constraint formula indicates that only a case where any one of Z variables is 1 or all the Z variables are 0 is permitted.

FIGS. 11 and 12 are explanatory views of a design method according to this embodiment applied when a route/device selection and a line design are made.

FIGS. 13 and 14 are explanatory views of the design method used when the route/device selection and the line design are made is solved as a global optimization problem.

A transfer route, a selection of a device arranged at each site, and a line type of each link and a multiplicity of ports for each demand are simultaneously designed so that the cost is minimized under a condition that a connection relationship (target topology) among sites, a traffic demand list of each section, and devices (device candidate list) that can be arranged at each site are given.

This problem is defined in a directed graph G={V,E} (V is a set of points that represent sites, E is a set of edges that represent a link), which is represented with two logical links that respectively have directions for a physical link.

A design model for solving this problem is described below.

objective function

Accommodates all given demands, and minimizes a cost (the amount of power consumption) of devices arranged in an entire network.

$\begin{matrix} {{Minimize}\mspace{14mu} \left\{ {{\sum\limits_{m}\; {\sum\limits_{k}\; \left( {C_{m,k}*Z_{m,k}} \right)}} + {\sum\limits_{s,d}\; {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*X_{r,{({ij})}}^{({s,d})}} \right)}}}} \right\}} & (1) \end{matrix}$

where

C_(m,k):

is a cost (the amount of power consumption) of a device k that can be arranged at a site m.

Additionally, δ_(r):

is a coefficient for avoiding a use of a wasteful link (turnaround of a route), and is a small coefficient given to a link in order to assign a priority to each line type r when a line is selected.

If no cost is given to a line (link) when a route heading from a site A to a site D via a site B is considered, a route that goes through the site B from the site A, turns around at the site C, goes back to the site B, and heads toward the site D can be possibly selected as illustrated in FIG. 13. However, by giving the small coefficient δ_(r) to the link as a cost as illustrated in FIG. 12, the route that turns around at the site C costs higher than a route that does not turn around at the site C. Therefore, such a path is automatically excluded when the objective function is minimized. The value of this small coefficient is empirically set.

-   -   design variables

Z_(m,k)ε{0,1}:

is a variable that represents whether or not to arrange the device k at the site m(εV).

Additionally,

X_(r,(ij)) ^((s,d))ε{0,1}:

is a variable indicating whether or not a route goes through traffic of a (s,d) section demand of a (i->j) link of the line type r (two logical links each indicating a direction (i->j)/(j->i) between sites are defined for each type r).

FIG. 13 illustrates a setting example of the design variables. In this example, a device design variable Z_(m,k) is given based on the assumption that three types (A, B and C) of devices can be arranged at each site. Moreover, two types such as a 1 G line (line type r=1) and a 10 G line (r=2) are assumed as links between sites, and a link design variable X^((s,d)) _(r,(ij)) is defined for all demands 1 and 2.

constraint conditions

-   -   flow conservation law: the volume of input traffic and the         volume of output traffic at the site m are equal.

$\begin{matrix} {{\sum\limits_{r}\; \left( {{\sum\limits_{j}\; X_{r,{({ij})}}^{({s,d})}} - {\sum\limits_{j}\; X_{r,{({ji})}}^{({s,d})}}} \right)} = \left\{ \begin{matrix} 1 & {{\forall\left( {s,d} \right)},{i = s}} \\ {- 1} & {{\forall\left( {s,d} \right)},{i = d}} \\ 0 & {{\forall\left( {s,d} \right)},{i \neq s},d} \end{matrix} \right.} & (2) \end{matrix}$

-   -   hop number constraint: an upper limit value of the number of         hops for a demand

${\sum\limits_{r}\; {\sum\limits_{ij}\; X_{r,{({ij})}}^{({s,d})}}} \leq {H^{({s,d})}\mspace{40mu} {\forall\left( {s,d} \right)}}$

where

H^((s,d)):

is the upper limit value of the number of hops for a (s,d) section demand.

-   -   device selection constraint: the number of devices selected at         the site m is one or less.

$\begin{matrix} {{\sum\limits_{k}\; Z_{m,k}} \leq {1\mspace{40mu} {\forall m}}} & (3) \end{matrix}$

-   -   device port number constraint: the number of ports used for a         traffic transfer should be equal to or smaller than the number         of ports included in each device.

$\begin{matrix} {{{\sum\limits_{j}\; {U_{r}\left( {\max \left\lbrack {{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({mj})}}^{({s,d})}}},{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({jm})}}^{({s,d})}}}} \right\rbrack} \right)}} \leq {{\sum\limits_{k}\; {p_{r,k}Z_{m,k}}} - {E_{r,m}\mspace{14mu} {\forall r}}}},m} & (4) \end{matrix}$

where

B^((s,d)):

is a band demand for the (s,d) section demand.

${{U_{r}{()}}:{U_{r}(a)}} = {{ceil}\left( \frac{a}{LinkRateperPort} \right)}$

is a function to calculate the number of ports used for the line type r by using a link traffic volume having a larger transfer volume among links in both directions. A function ceil(x) is a function to give an integer that is not smaller than x and is minimum.

p_(r,k)

is the number of ports of the line type r included in the device k.

E_(r,m)

is the number of ports of the line type r used as

Source/Destination of traffic at the site m.

link aggregation number constraint: limits the number of ports multiplexed for each link to a specified number or less.

$\begin{matrix} {{{\sum\limits_{r}\; {U_{r}\left( {\max\left\lbrack {{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({ij})}}^{({s,d})}}},{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({ji})}}^{({s,d})}}}} \right\rbrack} \right)}} \leq {LA}_{r,{\{{i,j}\}}}}{{\forall r},{\left( {i,j} \right) \in E}}} & (5) \end{matrix}$

where

LA_(r,(i,j))

is the number of ports, which can be multiplexed, of the line type r on a link between sites (i,j).

The problem formulated as described above is summarized as follows. Moreover, definitions of the following formulas and variables are summarized in FIG. 14.

$\begin{matrix} {\mspace{79mu} {Minimize}} & \; \\ {\mspace{79mu} {{{\sum\limits_{m}\; {\sum\limits_{k}\; \left( {C_{m,k}*Z_{m,k}} \right)}} + {\sum\limits_{s,d}\; {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*X_{r,{({ij})}}^{({s,d})}} \right)}}}}\mspace{79mu} {{subject}\mspace{14mu} {to}}}} & (1) \\ {\mspace{79mu} {{\sum\limits_{r}\; \left( {{\sum\limits_{j}\; X_{r,{({ij})}}^{({s,d})}} - {\sum\limits_{j}\; X_{r,{({ji})}}^{({s,d})}}} \right)} = \left\{ {{\begin{matrix} 1 & {{\forall\left( {s,d} \right)},{i = s}} \\ {- 1} & {{\forall\left( {s,d} \right)},{i = d}} \\ 1 & {{\forall\left( {s,d} \right)},{i \neq s},d} \end{matrix}\mspace{79mu} {\sum\limits_{r}\; {\sum\limits_{ij}\; X_{r,{({ij})}}^{({s,d})}}}} \leq {H^{({s,d})}\mspace{31mu} {\forall\left( {s,d} \right)}}} \right.}} & (2) \\ {\mspace{79mu} {{\sum\limits_{k}\; Z_{m,k}} \leq {1\mspace{31mu} {\forall m}}}} & (3) \\ {{{\sum\limits_{j}\; {U_{r}\left( {\max\left\lbrack {{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({mj})}}^{({s,d})}}},{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({jm})}}^{({s,d})}}}} \right\rbrack} \right)}} \leq {{\sum\limits_{k}\; {p_{r,k}Z_{m,k}}} - E_{r,m}}}\mspace{79mu} {{\forall r},m}} & (4) \\ {\mspace{79mu} {{{\sum\limits_{r}\; {U_{r}\left( {\max\left\lbrack {{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({ij})}}^{({s,d})}}},{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({ji})}}^{({s,d})}}}} \right\rbrack} \right)}} \leq {LA}_{r,{\{{i,j}\}}}}\mspace{79mu} {{\forall r},{\left( {i,j} \right) \in E}}}} & (5) \end{matrix}$

FIGS. 15 to 18 illustrate a method implemented by adopting an incremental approach in the route/device selection and line design method according to the embodiment illustrated in FIG. 11.

The global optimization problem described with reference to FIGS. 13 and 14 needs a large amount of computation for a design process due to large variable sizes. Especially, the size of the link variable X_(ij) defined for each demand becomes large in an actual network.

To reduce the amount of computation to a realistic amount, a method implemented not by defining link variables for all demands and designing routes for all the demands at one time but by defining a link variable common to demands and designing the demands to be accommodated one by one is effective.

It is known that the incremental approach for designing each demand to be accommodated in this way can derive a local optimum solution (approximate solution) although there is a possibility that a globally optimum design solution cannot be derived depending on the order of demands to be accommodated. Moreover, this approach is an approach available as a network design method owing to its applicability to an expansion design made when a new service (demand) is accommodated.

A method of sequentially designing a transfer route, a selection of a device arranged at each location and a line type for each demand so that a cost (the amount of power consumption) is minimized under a condition that a connection relationship (target topology) among sites, a list of demands between sites, devices that can be arranged at each site (device candidate list) are given is described as an incremental approach. Similarly to the case illustrated in FIGS. 13 and 14, this problem can be defined in a directed graph G={V,E}, and constraint conditions can be handled as a linear format having design variables of {0,1}. Therefore, this problem can be reduced to a 0-1 integer programming problem and can be solved.

The following description refers to a design model including a device selection. However, by setting a condition of arranging only one device at each site m, this problem can be used also as a route and line design problem under the condition where a device is fixed.

objective function

Minimizes a cost (power) of a device to be arranged in a network when a traffic demand for a particular s(Source)-d(Destination) is additionally accommodated.

$\begin{matrix} {{Minimize}\mspace{14mu} \left\{ {{\sum\limits_{m}\; {\sum\limits_{k}\; \left( {C_{m,k}*Z_{m,k}} \right)}} + {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*X_{r,{({ij})}}} \right)}}} \right\}} & (6) \end{matrix}$

where

C_(m,k):

is the cost (the amount of power consumption) of the device k that can be arranged at the site m.

δ_(r):

is a coefficient for avoiding a use of a wasteful link (turnaround of a route) (as described with reference to FIG. 12), and is a small coefficient given to a link in order to assign a priority to each line type r when a line is selected.

design variables

-   -   Z_(m,k)ε{0,1}:         is a variable that indicates whether or not the device k is         arranged at the site m(εV).     -   X_(r,(ij))ε{0,1}:         is a variable that indicates whether or not a route goes through         traffic of each demand of the (i->j) link of the line type r         (two logical links each indicating a direction (i->j)/(j->i) are         defined for each line type r).

FIG. 15 illustrates a setting example of the above described design variables. This example assumes that three types (A, B and C) of devices can be arranged at each site, and a device design variable Z_(m,k) is given. Moreover, two types of links such as a 1 G line (line type r=1) and a 10 G line (r=2) are assumed as links between sites, and a link design variable X_(r,(ij)) common to demands is defined.

constraint conditions

-   -   flow conservation law: the volume of input traffic and the         volume of output traffic at the site m are equal.

$\begin{matrix} {{\sum\limits_{r}\; \left( {{\sum\limits_{j}\; X_{r,{({ij})}}} - {\sum\limits_{j}\; X_{r,{({ji})}}}} \right)} = \left\{ \begin{matrix} 1 & {{\forall i} = s} \\ {- 1} & {{\forall i} = d} \\ 1 & {{\forall{i \neq s}},d} \end{matrix} \right.} & (7) \end{matrix}$

-   -   hop number constraint

${\sum\limits_{r}\; {\sum\limits_{ij}\; X_{r,{({ij})}}}} \leq H$

where

H:

is an upper limit value of the number of hops for a design demand.

-   -   device selection constraint: the number of devices selected at         the site m is one or less.

$\begin{matrix} {{\sum\limits_{k}\; Z_{m,k}} \leq {1\mspace{31mu} {\forall m}}} & (8) \end{matrix}$

-   -   device port number constraint: the number of ports used to         transfer traffic should be equal to or less than the number of         ports included in each device.

$\begin{matrix} {{{\sum\limits_{j}\; \left\{ {{\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{mj}} \right),R_{jm}} \right\rbrack} \right)} - u_{m,j}^{r}} \right)X_{r,{({mj})}}} - {\sum\limits_{q \neq r}\; \left\{ {u_{m,j}^{r}X_{q,{({m,j})}}} \right\}} + {\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{jm}} \right),R_{mj}} \right\rbrack} \right)} - u_{j,m}^{r}} \right)X_{r,{({jm})}}} - {\sum\; \left\{ {u_{j,m}^{r}X_{q,{({jm})}}} \right\}} + u_{m,j}^{r}} \right\}} \leq {{\sum\limits_{k}\; {p_{r,k}Z_{m,k}}} - {E_{r,m}\mspace{31mu} {\forall r}}}},m} & (9) \end{matrix}$

where terms

−Σ_(q≠r){u_(m,j) ^(r)x_(q,(mj))} and −Σ_(q≠r){u_(j,m) ^(r)X_(q,(jm))} mean that a port of the line type r is not used any more if a line type q different from the line type r at the current time point is selected on a link between the respectively identical sites.

B:

is a band demand for a demand to be designed.

R_(ij):

is the volume of traffic already transferred on the (i->j) link.

u^(r) _(ij):

indicates the number of ports of the line type r, which are already used on the physical link between the sites (i-j)

${{U_{r}{()}}:{U_{r}(a)}} = {{ceil}\left( \frac{a}{LinkRateperPort} \right)}$

is a function to calculate the number of used ports of the line type r by using the link traffic volume having a larger transfer amount of links in both directions. The function ceil (x) is the same function as the above described one.

p_(r,k):

is the number of ports of the line type r, which are included in the device k.

E_(r,m):

is the number of ports of the line type r, which are used as Source/Destination of traffic at the site m.

-   -   link aggregation number constraint: limits the number of ports         multiplexed for each link to a specified value or less.

$\begin{matrix} {{\sum\limits_{r}\; {{U_{r}\left( {\max \left\lbrack {{B + R_{ij}^{r}},R_{ji}^{r}} \right\rbrack} \right)}X_{r,{({ij})}}}} \leq {{LA}_{r,{\{{i,j}\}}}{\forall{\left( {i,j} \right) \in E}}}} & (10) \end{matrix}$

where

LA_(r,(i,j)):

indicates the number of ports, which can be multiplexed, of the line type r for the link between the sites (i,j).

The formulas set with the above described method are summarized below. Definitions of the formulas and variables are summarized in FIG. 16.

$\begin{matrix} {\mspace{79mu} {Minimize}} & \; \\ {\mspace{79mu} {{{\sum\limits_{m}\; {\sum\limits_{k}\; \left( {C_{m,k}*Z_{m,k}} \right)}} + {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*X_{r,{({ij})}}} \right)}}}\mspace{79mu} {{subject}\mspace{14mu} {to}}}} & (6) \\ {\mspace{79mu} {{\sum\limits_{r}\; \left( {{\sum\limits_{j}\; X_{r,{({ij})}}} - {\sum\limits_{j}\; X_{r,{({ji})}}}} \right)} = \left\{ {{\begin{matrix} 1 & {{\forall i} = s} \\ {- 1} & {{\forall i} = d} \\ 1 & {{\forall{i \neq s}},d} \end{matrix}\mspace{79mu} {\sum\limits_{r}\; {\sum\limits_{ij}\; X_{r,{({ij})}}}}} = H} \right.}} & (7) \\ {\mspace{79mu} {{\sum\limits_{k}\; Z_{m,k}} \leq {1\mspace{31mu} {\forall m}}}} & (8) \\ {{{\sum\limits_{j}\; \left\{ {{\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{mj}} \right),R_{jm}} \right\rbrack} \right)} - u_{m,j}^{r}} \right)X_{r,{({mj})}}} - {\sum\limits_{q \neq r}\; \left\{ {u_{m,j}^{r}X_{q,{({m,j})}}} \right\}} + {\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{jm}} \right),R_{mj}} \right\rbrack} \right)} - u_{j,m}^{r}} \right)X_{r,{({jm})}}} - {\sum\; \left\{ {u_{j,m}^{r}X_{q,{({jm})}}} \right\}} + u_{m,j}^{r}} \right\}} \leq {{\sum\limits_{k}\; {p_{r,k}Z_{m,k}}} - {E_{r,m}\mspace{31mu} {\forall r}}}},m} & (9) \\ {\mspace{79mu} {{{\sum\limits_{r}\; {{U_{r}\left( {\max \left\lbrack {{B + R_{ij}^{r}},R_{ji}^{r}} \right\rbrack} \right)}X_{r,{({ij})}}}} \leq {LA}_{r,{\{{i,j}\}}}}\mspace{79mu} {\forall{\left( {i,j} \right) \in E}}}} & (10) \end{matrix}$

Design Example

An example of sequentially designing the demands 1 and 2 for a design problem illustrated in FIG. 17 is described below.

Here, assume that there are three types (A, B and C) of device candidates that can be arranged at each site. Also assume that two types such as a 1 G line (line type r=1) and a 10 G line (r=2) are used as line types and a link aggregation is not performed (LA_(r,(i,j))=1).

1. Design Model for Accommodating the Demand 1 (the Site 1 to the Site 2)

For the demand 1, a case where traffic flows in with a 1 G port of the device arranged at the site 1 and flows out with a 1 G port of the device at the site 2 is considered.

     Minimize10Z_(1, A) + 20Z_(1, B) + 5Z_(1, C) + 10Z_(2, A) + 20Z_(2, B) + 5Z_(2, C) + 10Z_(3, A) + 20Z_(3, B) + 5Z_(3, C) + 0.001X_(1, (1, 2)) + 0.001X_(1, (2, 1)) + 0001X_(1, (1, 3)) + 0.001X_(1, (3, 1)) + 0.001X_(1, (2, 3)) + 0.001X_(1, (3, 2)) + 0.002X_(2, (1, 2)) + 0.002X_(2, (2, 1)) + 0.002X_(2, (1, 3)) + 0.002X_(2, (3, 1)) + 0.002X_(2, (2, 3)) + 0.002X_(2, (3, 2))     subject  toX_(1, (12)) + X_(1, (13)) − X_(1, (21)) − X_(1, (21)) + X_(2, (12)) + X_(2, (13)) − X_(2, (21)) − X_(2, (21)) = 1X_(1, (21)) + X_(1, (23)) − X_(1, (12)) − X_(1, (32)) + X_(2, (21)) + X_(2, (23))) − X_(2, (12)) − X_(2, (32)) = −1 X_(1, (31)) + X_(1, (32)) − X_(1, (13)) − X_(1, (23)) + X_(2, (31)) + X_(2, (32)) − X_(2, (13)) − X_(2, (23)) = 0      Z_(1, A) + Z_(1, B) + Z_(1, C) ≤ 1      Z_(2, A) + Z_(2, B) + Z_(2, C) ≤ 1      Z_(3, A) + Z_(3, B) + Z_(3, C) ≤ 1 ((U₁(1) − U₁(0))X_(1, (12)) − U₁(0)X_(2, (12))) + ((U₁(1) − U₁(0))X_(1, (21)) − U₁(0)X_(2, (21))) + U₁(0) + ((U₁(0))X_(1, (13))) + ((U₁(1) − U₁(0))X_(1, (31)) − U₁(0)X_(2, (31))) + U₁(0) ≤ 12Z_(1, A) + 24Z_(1, B) + 10Z_(1, C) − 1 ((U₂(1) − U₂(0))X_(2, (12)) − U₂(0)X_(1, (12))) + ((U₂(1) − U₂(0))X_(2, (21)) − U₂(0)X_(1, (21))) + U₂(0) + ((U₂(1) − U₂(0))X_(2, (13)) − U₂(0)X_(1, (13))) + ((U₂(1) − U₂(0))X_(2, (31)) − U₂(0)X_(1, (31))) + U₂(0) ≤ 2Z_(1, A) + 4Z_(1, B) + 0Z_(1, C)((U₁(1) − U₁(0))X_(1, (21)) − U₁(0)X_(2, (21))) + ((U₁(1) − U₁(0))X_(1, (12)) − U₂(0)X_(1, (12))) + U₁(0) + ((U₁(1) − U₁(0))X_(1, (23)) − U₂(0)X_(1, (13))) + ((U₁(1) − U₁(0))X_(1, (32)) − U₁(0)X_(2, (32))) + U₁(0) ≤ 12Z_(2, A) + 24Z_(2, B) + 10Z_(2, C) − 1 ((U₂(1) − U₂(0))X_(2, (21)) − U₂(0)X_(1, (21))) + ((U₂(1) − U₂)(0))X_(2, (12)) − U₂(0)X_(1, (12)) + ((U₂(1) − U₂(0))X_(2, (12)) − U₂(0)X_(1, (12))) + U₂(0) + ((U₂(1) − U₂(0))X_(2, (23)) − U₂(0)X_(1, (23))) + ((U₂(1) − U₂(0))X_(2, (32)) − U₂(0)X_(1, (32))) + U₂(0) ≤ 2Z_(2, A) + 4Z_(2, B) + 0Z_(2, C)((U₁(1) − U₁(0))X_(1, (31)) − U₁(0)X_(2, (31))) + ((U₁(1) − U₁(0))X_(1, (13)) − U₂(0)X_(1, (13))) + U₁(0) + ((U₁(1) − U₁(0))X_(1, (32)) − U₂(0)X_(1, (32))) + ((U₁(1) − U₁(0))X_(1, (23)) − U₁(0)X_(2, (23))) + U₁(0) ≤ 12Z_(3, A) + 24Z_(3, B) + 10Z_(3, C)((U₂(1) − U₂(0))X_(2, (31)) − U₂(0)X_(1, (31))) + ((U₂(1) − U₂(0))X_(2, (13)) − U₂(0)X_(1, (13))) + U₂(0) + ((U₂(1) − U₂(0))X_(2, (32)) − U₂(0)X_(1, (32))) + ((U₂(1) − U₂(0))X_(2, (23)) − U₂(0)X_(1, (23))) + U₂(0) ≤ 2Z_(3, A) + 4Z_(3, B) + 0Z_(3, C)      U₁(1)X_(1, (12)) + U₂(1)X_(2, (12)) ≤ 1      U₁(1)X_(1, (13)) + U₂(1)X_(2, (13)) ≤ 1      U₁(1)X_(1, (21)) + U₂(1)X_(2, (21)) ≤ 1      U₁(1)X_(1, (23)) + U₂(1)X_(2, (23)) ≤ 1      U₁(1)X_(1, (31)) + U₂(1)X_(2, (31)) ≤ 1      U₁(1)X_(2, (32)) + U₂(1)X_(2, (32)) ≤ 1

where U₁( ) is a function to obtain the number of ports by assuming the 1 G line, and U₂( ) is a function to obtain the number of ports by assuming the 10 G line. Accordingly, for example, coefficients U₁(2)=2, U₂(2)=1 are obtained.

design solution to the demand 1.

By computing the above described formulas with the aforementioned solver (R(lp_solve)), a result of “X_(1,(12))=1, Z_(1,c)=1, Z_(2,c)=1, the other design variables=0” is obtained. Namely, the device C is selected for the sites 1 and 2, and a route via the 1 G line between the sites 1 and 2 is designed for the demand 1.

Example of a Data Structure when the Solver R (lp_solve) is Applied

FIG. 18 illustrates an image of a data structure when the above described model is applied to R(lp_solve). Within the solver, coefficients of input data are predetermined to respectively correspond to coefficients of variables based on their ordinal positions. Accordingly, when the solver is used, data having a structure where values of coefficients are arranged in order is generated by making the predetermined coefficients correspond to a formula of a problem based on their ordinal positions. By inputting the generated data, a formula to which the coefficients are given is generated within the solver, and a solution is obtained according to an internal algorithm. To f.dir, an equality or inequality is input. Also an equality or inequality is predetermined to correspond to an equivalent in a corresponding formula based on an ordinal position of a sequence. A sequence of 0 and 1 is obtained as an output of the solver to a 0-1 integer programming problem. 0 or 1 is given as a value of a corresponding variable based on its ordinal position, and a solution is obtained in order where coefficients of a problem to be solved when input data is generated are made to correspond to positions of the sequence. Also in a process for designing another demand to be accommodated, a computation using the solver is performed in a similar data structure.

2. Design Model for Accommodating the Demand 2 (the Site 2 to the Site 3)

A problem of accommodating the demand 2 in this state is described next. The demand 2 is a 3-Gbps demand. A case where traffic flows in with one 10 G port of the device arranged at the site 2 and flows out with one 10 G port at the site 3 is considered (FIG. 15).

     Minimize10Z_(1, A) + 20Z_(1, B) + 5Z_(1, C) + 10Z_(2, A) + 20Z_(2, B) + 5Z_(2, C) + 10Z_(3, A) + 20Z_(3, B) + 5Z_(3, C) + 0.001X_(1, (1, 2)) + 0.001X_(1, (2, 1)) + 0001X_(1, (1, 3)) + 0.001X_(1, (3, 1)) + 0.001X_(1, (2, 3)) + 0.001X_(1, (3, 2)) + 0.002X_(2, (1, 2)) + 0.002X_(2, (2, 1)) + 0.002X_(2, (1, 3)) + 0.002X_(2, (3, 1)) + 0.002X_(2, (2, 3)) + 0.002X_(2, (3, 2))     subject  toX_(1, (12)) + X_(1, (13)) − X_(1, (21)) − X_(1, (21)) + X_(2, (12)) + X_(2, (13)) − X_(2, (21)) − X_(2, (21)) = 0X_(1, (21)) + X_(1, (23)) − X_(1, (12)) − X_(1, (32)) + X_(2, (21)) + X_(2, (23))) − X_(2, (12)) − X_(2, (32)) = 1 X_(1, (31)) + X_(1, (32)) − X_(1, (13)) − X_(1, (23)) + X_(2, (31)) + X_(2, (32)) − X_(2, (13)) − X_(2, (23)) = −1      Z_(1, A) + Z_(1, B) + Z_(1, C) ≤ 1      Z_(2, A) + Z_(2, B) + Z_(2, C) ≤ 1      Z_(3, A) + Z_(3, B) + Z_(3, C) ≤ 1 ((U₁(4) − U₁(1))X_(1, (12)) − U₁(1)X_(2, (12))) + ((U₁(3) − U₁(1))X_(1, (21)) − U₁(1)X_(2, (21))) + U₁(1) + ((U₁(3) − U₁(0))X_(1, (13)) − U₁(0)X_(2, (13))) + ((U₁(3) − U₁(0))X_(1, (31)) − U₁(0)X_(2, (31))) + U₁(0) ≤ 12Z_(1, A) + 24Z_(1, B) + 10Z_(1, C) − 1 ((U₂(3) − U₂(0))X_(2, (12)) − U₂(0)X_(1, (12))) + ((U₂(2) − U₂(0))X_(2, (21)) − U₂(0)X_(1, (21))) + U₂(0) + ((U₂(3) − U₂(0))X_(2, (13)) − U₂(0)X_(1, (13))) + ((U₂(3) − U₂(0))X_(2, (31)) − U₂(0)X_(1, (31))) + U₂(0) ≤ 2Z_(1, A) + 4Z_(1, B) + 0Z_(1, C)((U₁(3) − U₁(1))X_(1, (21)) − U₁(1)X_(2, (21))) + ((U₁(4) − U₁(1))X_(1, (12)) − U₁(1)X_(2, (12))) + U₁(1) + ((U₁(3) − U₁(0))X_(1, (23)) − U₁(0)X_(2, (23))) + ((U₁(1) − U₁(0))X_(1, (32)) − U₁(0)X_(2, (32))) + U₁(0) ≤ 12Z_(2, A) + 24Z_(2, B) + 10Z_(2, C) − 4 ((U₂(3) − U₂(0))X_(2, (21)) − U₂(0)X_(1, (21))) + ((U₂(3) − U₂(0))X_(2, (12)) − U₂(0)X_(1, (12))) + U₂(0) + ((U₂(3) − U₂(0))X_(2, (23)) − U₂(0)X_(1, (23))) + ((U₂(3) − U₂(0))X_(2, (13)) − U₂(0)X_(1, (13))) + U₂(0) ≤ 2Z_(2, A) + 4Z_(2, B) + 0Z_(2, C)((U₁(3) − U₁(0))X_(1, (31)) − U₁(0)X_(2, (31))) + ((U₁(3) − U₁(0))X_(1, (13)) − U₂(0)X_(1, (13))) + U₁(0) + ((U₁(3) − U₁(0))X_(1, (32)) − U₂(0)X_(1, (32))) + ((U₁(3) − U₁(0))X_(1, (23)) − U₁(0)X_(2, (23))) + U₁(0) ≤ 12Z_(3, A) + 24Z_(3, B) + 10Z_(3, C) − 3 ((U₂(3) − U₂(0))X_(2, (31)) − U₂(0)X_(1, (31))) + ((U₂(3) − U₂(0))X_(2, (13)) − U₂(0)X_(1, (13))) + U₂(0) + ((U₂(3) − U₂(0))X_(2, (32)) − U₂(0)X_(1, (32)) + ((U₂(3) − U₂(0))X_(2, (23)) − U₂(0)X_(1, (23))) + U₂(0) ≤ 2Z_(3, A) + 4Z_(3, B) + 0Z_(3, C)     U₁(4)X_(1, (12)) + U₂(3)X_(2, (12)) ≤ 1     U₁(3)X_(1, (13)) + U₂(3)X_(2, (13)) ≤ 1     U₁(3)X_(1, (21)) + U₂(3)X_(2, (21)) ≤ 1     U₁(3)X_(1, (23)) + U₂(3)X_(2, (23)) ≤ 1     U₁(3)X_(1, (31)) + U₂(3)X_(2, (31)) ≤ 1     U₁(3)X_(2, (32)) + U₂(3)X_(2, (32)) ≤ 1

Design Solution to the Demand 2

A computation using the solver results in “X_(2,(23))=1, Z_(1,C)=1, Z_(2,A)=1, Z_(3,A)=1, the other design variables=0”. Namely, the device C is selected for the site 1, the device A that supports 10 G ports is selected as an upgrade for the site 2, and the device A is selected for the site 3. Moreover, for the demand 2, a route that goes through the 10 G line between the sites 2 and 3 is designed.

Because the above described design condition is set not to permit a link aggregation, results are obtained such that a transfer route using the 10 G line is designed to accommodate the 3 G demand and a device that supports the 10 G line is selected to accommodate the 3 G demand.

Note that a design can be made in consideration of not only the above described device cost but a line facility cost. In this case, a link cost may be given in addition to the above described δ.

Additionally, also a route/line design when a device arrangement at each site is explicitly given can be made. In this case, the number of device candidates set at each site may be limited to 1.

FIGS. 19 to 23 are explanatory views of a line/device design method used when a traffic state is explicitly given.

In the optimum network design problem described with reference to FIGS. 11 to 18, a transfer route, a device selection and a line design are comprehensively performed for a demand. Depending on an operator, however, he or she sometimes desires to explicitly specify a traffic transfer route. Accordingly, FIGS. 19 to 23 illustrate a method of configuring a design model for performing a device selection and a line design, which minimize a cost, under a condition that a transfer state of traffic flowing in a network is specified, and of determining a selection of a device arranged at each site and a line type at a minimum cost under a condition that a connection relationship (target topology) among sites, a traffic transfer route between sites, and devices that can be arranged at each site (device candidate list) are given.

This problem is defined in an undirected graph G={V,E} that represents a connection relationship of a physical link. Moreover, an objective function and constraint conditions can be handled as a linear format having {0,1} variables. Therefore, this problem can be reduced to a 0-1 integer programming problem and solved. Unlike the above described design model, the link variable X_(ij) that is defined in both directions in order to identify a route becomes unnecessary, so that a significant reduction in the scale of the problem can be expected.

objective function

Minimizes a cost (power) of a device to be arranged in a network in order to ensure a given traffic transfer state to be accommodated.

$\begin{matrix} {{Minimize}\mspace{14mu} \left\{ {{\sum\limits_{m}\; {\sum\limits_{k}\; \left( {C_{m,k}*Z_{m,k}} \right)}} + {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*L_{r,{({ij})}}} \right)}}} \right\}} & (11) \end{matrix}$

where

C_(m,k):

is the cost (the amount of power consumption) of the device k that can be arranged at the site m.

δ_(r):

is a small coefficient given to a link in order to assign a priority to each line type r when a line is selected.

design variables

Z_(m,k)ε{0,1}:

is a variable that indicates whether or not the device k is arranged at the site m(εV).

L_(r(i,j))ε{0,1}:

is a variable that indicates whether or not a link of the line type r defined between (i,j)εE is used.

FIG. 19 illustrates a setting example of the above described design variables. This example assumes that three types (A, B and C) of devices can be arranged at each site, and a device design variable Z_(m,k) is given. Moreover, for a link between sites, two types such as a 1 G line (line type r=1) and a 10 G line (r=2) are assumed, and an undirected link design variable L_(r,(i,j)) is defined.

constraint conditions

-   -   device selection constraint: the number of devices selected at         the site m is one or less.

$\begin{matrix} {{\sum\limits_{k}\; Z_{m,k}} \leq {1\mspace{31mu} {\forall m}}} & (12) \end{matrix}$

-   -   line type constraint: the number of line types r selected on a         link, into/from which traffic flows, between the sites (i,j) is         one.

$\begin{matrix} {{\sum\limits_{r}\; L_{r,{({i,j})}}} = {1\mspace{31mu} {\forall\left( {i,j} \right)}}} & (13) \end{matrix}$

-   -   device port number constraint: the number of ports used for a         traffic transfer should be equal to or smaller than the number         of ports included in each device.

$\begin{matrix} {{{\sum\limits_{j \neq m}\; {{U_{r}\left( {\max \left\lbrack {R_{mj},R_{jm}} \right\rbrack} \right)}L_{r,{({m,j})}}}} \leq {{\sum\limits_{k}\; {p_{r,k}Z_{m,k}}} - E_{r,m}}}{{\forall r},m}} & (14) \end{matrix}$

where

R_(ij):

is the volume of traffic transferred on the (i->j) link.

${{U_{r}{()}}\text{:}\mspace{11mu} {U_{r}(a)}} = {{ceil}\left( \frac{a}{LinkRateperPort} \right)}$

is a function to calculate the number of ports used for the line type r by using a link traffic volume having a larger transfer volume of links in both directions. The function ceil(x) is as described above.

p_(r,k):

is the number of ports of the line type r included in the device k.

E_(r,m):

is the number of ports of the line type r used as Source/Destination of traffic at the site m.

-   -   link aggregation number constraint: limits the number of ports         multiplexed for each link to a specified value or less.

$\begin{matrix} {{\sum\limits_{r}\; {{U_{r}\left( {\max \left\lbrack {R_{ij},R_{ji}} \right\rbrack} \right)}L_{r,{({i,j})}}}} \leq {{LA}_{r,{\{{i,j}\}}}\mspace{20mu} {\forall{\left( {i,j} \right) \in E}}}} & (15) \end{matrix}$

where

LA_(r(i,j)):

is the number of ports, which can be multiplexed, of the line type r for the link between the sites (i,j).

The problem set with the above described design method is summarized below. Definitions of the formulas and the variables are summarized in FIG. 21.

$\begin{matrix} {{{{Minimize}\mspace{14mu} {\sum\limits_{m}\; {\sum\limits_{k}\; \left( {C_{m,k}*Z_{m,k}} \right)}}} + {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*L_{r,{({i,j})}}} \right)}}}{{subject}\mspace{14mu} {to}}} & (11) \\ {{\sum\limits_{k}\; Z_{m,k}} \leq {1\mspace{14mu} {\forall m}}} & (12) \\ {{\sum\limits_{r}\; L_{r,{({i,j})}}} = {1\mspace{14mu} {\forall\left( {i,j} \right)}}} & (13) \\ {{{\sum\limits_{j \neq m}\; {{U_{r}\left( {\max \left\lbrack {R_{mj},R_{jm}} \right\rbrack} \right)}L_{r,{({m,j})}}}} \leq {\sum\limits_{k}\; {p_{r,k}Z_{m,k}\mspace{14mu} {\forall r}}}},m} & (14) \\ {{\sum\limits_{r}\; {{U_{r}\left( {\max \left\lbrack {R_{ij},R_{ji}} \right\rbrack} \right)}L_{r,{({i,j})}}}} \leq {{LA}_{i,j}\mspace{14mu} {\forall{\left( {i,j} \right) \in E}}}} & (15) \end{matrix}$

Design Example

A 0-1 integer programming problem when a traffic state illustrated in FIG. 22 is given to a design problem illustrated in FIG. 20 is described below.

Here, assume that there are three types (A, B and C) of device candidates, which can be arranged at each site. Also assume that two types such as a 1 G line (line type r=1) and a 10 G line (r=2) are used as line types and a link aggregation is not performed (LA_(r,(i,j))=1).

1. Design Model

     Minimize 10Z_(1, A) + 20Z_(1, B) + 5Z_(1, C) + 10Z_(2, A) + 20Z_(2, B) + 5Z_(2, C) + 10Z_(3, A) + 20Z_(3, B) + 5Z_(3, C) + 0.001L_(1, (1, 2)) + 0.001L_(1, (1, 3))0.001L_(1, (2, 3)) + 0.002L_(2, (1, 2)) + 0.002L_(2, (1, 3)) + 0.002L_(2, (2, 3))      subject  to      Z_(1, A) + Z_(1, B) + Z_(1, C) ≤ 1      Z_(2, A) + Z_(2, B) + Z_(2, C) ≤ 1      Z_(3, A) + Z_(3, B) + Z_(3, C) ≤ 1      L_(1, (1, 2)) + L_(2, (1, 2)) = 1      L_(1, (1, 3)) + L_(2, (1, 3)) = 1      L_(1, (2, 3)) + L_(2, (2, 3)) = 1      U₁(2)L_(1, (1, 2)) + U₁(6)L_(1, (1, 3)) ≤ 12Z_(1, A) + 24Z_(1, B) + 10Z_(1, C) − 13      U₂(2)L_(2, (1, 2)) + U₂(6)L_(2, (1, 3)) ≤ 2Z_(1, A) + 4Z_(1, B) + 0Z_(1, C)      U₁(2)L_(1, (1, 2)) + U₁(3)L_(1, (2, 3)) ≤ 12Z_(2, A) + 24Z_(2, B) + 10_(2, C) − 8      U₂(2)L_(2, (1, 2)) + U₂(3)L_(2, (2, 3)) ≤ 2Z_(2, A) + 4Z_(2, B) + 0Z_(2, C)      U₁(6)L_(1, (1, 3)) + U₁(3)L_(1, (2, 3)) ≤ 12Z_(3, A) + 24Z_(3, B) + 10Z_(3, C) − 9      U₂(6)L_(2, (1, 3)) + U₂(3)L_(2, (2, 3)) ≤ 2Z_(3, A) + 4Z_(3, B) + 0Z_(3, C)      U₁(2)L_(1, (12)) + U₂(2)L_(2, (12)) ≤ 1      U₁(6)L_(1, (13)) + U₂(6)L_(2, (13)) ≤ 1      U₁(3)L_(1, (23)) + U₂(3)L_(2, (23)) ≤ 1

where U₁( ) is a function to obtain the number of ports by assuming the 1 G line, and U₂( ) is a function to obtain the number of ports by assuming the 10 G line. Accordingly, for example, coefficients U₁(6)=6, U₂(6)=1 are obtained.

2. Design Solution

A computation using the solver results in “L_(2,(1,2))=1, L_(2,(1,3))=1, L_(2,(2,3))=1, Z_(1,B)=1, Z_(2,A)=1, Z_(3,A)=1, the other design variables=0”. Namely, the device B is selected for the site 1, the device A is selected for the sites 2 and 3, and all lines between the sites are 10 G.

3. Example of a Data Structure when R (lp_solve) is Applied

FIG. 23 illustrates an image of a data structure when the above described model is applied to R (lp_solve). Output data illustrated in FIG. 23 indicates that an output of “Z_(1,B), Z_(2,A), Z_(3,A), L_(2,(1,2)), L_(2,(1,3)) and L_(2,(2,3)) are 1, the other design variables are 0” is obtained.

In the objective function of the above described design model, a mathematical computation is performed by giving a coefficient of a small value δ_(r)(=0.001, 0.002) to link design variables (X_(r,(i,j)) and L_(r,(i,j))). However, a value such as the amount of money or the like needed to set a link between sites may be added as this coefficient. For example, if a cost needed to set a line from the site 1 to the site 2 is 1000, a coefficient of the corresponding link may be set to (1000+δ_(r))X_(r,(1,2)), (1000+δ_(r))X_(r,(2,1)), or (1000+δ_(r))L_(r,(1,2)).

Additionally, the condition that only one device should be arranged at each site is given in the above described design. However, a design can be made also under a condition that a plurality of devices can be arranged at each site when traffic is accommodated.

If a design is made under such a condition, a design variable Z_(m,k) of a device that can be arranged at the site m is not given as an integer value of 0 or 1 but defined as an integer value (εZ) that permits results of arranging a plurality of devices k, and a design model obtained by deleting a constraint formula (formula provided below) such as the following (3), (8), (12) or the like is calculated as an integer programming problem.

${\sum\limits_{k}\; Z_{m,k}} \leq {1\mspace{14mu} {\forall m}}$

Additionally, the above described design refers to the example of setting the plurality of device candidates (Z_(m,k): k=A, B, C) that can be arranged at each site m. However, if a design is made under a condition that one device candidate (example: k=A) is arranged at each site, a line/path design is made under a condition that one device is explicitly given to each site.

FIGS. 24 to 26 are explanatory views of a method implemented by applying a design method that assumes a chassis type device to the method illustrated in FIGS. 13 and 14.

The above described design assumes a network device of a box type where ports and housing are integrated into one body. However, some network devices is configured not with a box type but with one housing by combining separate packages such as a network IF, a switching fabric and the like. Accordingly, a method of designing a device package configuration that minimizes a cost (the amount of power consumption) while ensuring traffic to be accommodated by expanding the above described design model is described. Here, a package configuration is assumed to handle three types of device components, illustrated in FIG. 25, such as a low-speed NW (NetWork) card for processing traffic input/output to/from a network, a high-speed NW card for processing traffic relayed by a network, and a common part, which can include the NW cards as slots, for controlling a traffic process between cards. This problem can be solved as an integer programming program obtained by changing the design variables and by adding constraint conditions to the above defined design problems.

The structure itself of the problem does not significantly vary even when a package is designed to be expanded. Therefore, the following description refers to only portions changed in the objective function and the constraint conditions.

-   -   objective function change

Minimizes the cost (power) of a device package to be arranged in a network when a given traffic demand is accommodated. Assume that one device is configured with the components such as a common part (p=0), a low-speed NW card (p=1), and a high-speed NW card (p=2).

$\begin{matrix} {{Minimize}\mspace{14mu} \left\{ {{\sum\limits_{m}\; {\sum\limits_{k}\; {\sum\limits_{p}\; \left( {C_{m,k}^{p}*Z_{m,k}^{p}} \right)}}} + {\sum\limits_{s,d}\; {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*X_{r,{({i,j})}}^{({s,d})}} \right)}}}} \right\}} & (16) \end{matrix}$

where

C^(P) _(m,k):

is the cost (the amount of power consumption) of a card type k in a device component p that can be arranged at the site m.

Design variable change

$Z_{m,k}^{p}\left\{ \begin{matrix} {\in \left\{ {0,1} \right\}} & {{p = {0\mspace{14mu} \begin{matrix} {{existence}\text{/}{absence}\mspace{14mu} {of}\mspace{14mu} a\mspace{14mu} {common}} \\ {{part}\mspace{14mu} k\mspace{14mu} {at}\mspace{14mu} a\mspace{14mu} {site}{\; \mspace{11mu}}{m\left( {\in V} \right)}} \end{matrix}}}\;} \\ {\in Z} & {{p = 1},{2\mspace{31mu} \begin{matrix} {{mounting}\mspace{14mu} {number}\mspace{14mu} {of}} \\ {{NW}\mspace{14mu} {cards}\mspace{14mu} k\mspace{14mu} {at}\mspace{14mu} a\mspace{14mu} {site}\mspace{14mu} {m\left( {\in V} \right)}} \end{matrix}}} \end{matrix} \right.$

-   -   constraint condition change         “Expansion change of the formula (3)”

package selection constraint: the number of common parts (p=0) selected for the site m is one or less.

$\begin{matrix} {{\sum\limits_{k}\; Z_{m,k}^{0}} \leq {1\mspace{31mu} {\forall m}}} & (17) \end{matrix}$

“new additions”

-   -   slot number constraint of the common part (p=0): the number of         NW cards that can be included within a device should be equal to         or smaller than the number of slots possessed by each common         part.

$\begin{matrix} {{\sum\limits_{k}\; \left( {Z_{m,k}^{1} + Z_{m,k}^{2}} \right)} \leq {\sum\limits_{k}\; {s_{m,k}Z_{m,k}^{0}\mspace{14mu} {\forall m}}}} & (18) \end{matrix}$

where

s_(m,k):

is the number of slots included in the common part k that can be arranged at the site m. “expansion in consideration of a low-speed NW card in the formula (4)”

port number constraint of the low-speed NW card (p=1): the number of ports of the line type r used as Source/Destination of traffic should be equal to or smaller than the number of ports mounted on the low-speed NW card k.

$\begin{matrix} {{E_{r,m} \leq {\sum\limits_{k}\; {p_{r,k}Z_{m,k}^{1}\mspace{14mu} {\forall r}}}},m} & (19) \end{matrix}$

where

p_(r,k):

indicates the number of ports of the line type r mounted on the low-speed NW card (k).

E_(r,m):

indicates the number of ports of the line type r used as Source/Destination of traffic at the site m. “Expansion in consideration of the high-speed NW card in the formula (4)”

-   -   port number constraint of the high-speed NW card (p=2)

$\begin{matrix} {{{{\sum\limits_{j}\; {U_{r}\left( {\max \left\lbrack {{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({mj})}}^{({s,d})}}},{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({jm})}}^{({s,d})}}}} \right\rbrack} \right)}} \leq {\sum\limits_{k}\; {p_{r,k}Z_{m,k}^{2}}}}\mspace{79mu} {{\forall r},m}}\mspace{34mu}} & (20) \end{matrix}$

The problem set with the above described method is summarized below. Definitions of the formulas and the variables are summarized in FIG. 26.

$\begin{matrix} {\mspace{79mu} {Minimize}} & \; \\ {\mspace{79mu} {{{\sum\limits_{m}\; {\sum\limits_{k}\; {\sum\limits_{p}\; \left( {C_{m,k}^{p}*Z_{m,k}^{p}} \right)}}} + {\sum\limits_{s,d}\; {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*X_{r,{({i,j})}}^{({s,d})}} \right)}}}}\mspace{79mu} {{subject}\mspace{14mu} {to}}}} & (16) \\ {\mspace{79mu} {{\sum\limits_{r}\; \left( {{\sum\limits_{j}\; X_{r,{({ij})}}^{({s,d})}} - {\sum\limits_{j}\; X_{r,{({ji})}}^{({s,d})}}} \right)} = \left\{ \begin{matrix} 1 & {{\forall\left( {s,d} \right)},{i = s}} \\ {- 1} & {{\forall\left( {s,d} \right)},{i = d}} \\ 0 & {{\forall\left( {s,d} \right)},{i \neq s},d} \end{matrix} \right.}} & (4) \\ {\mspace{79mu} {{{\sum\limits_{r}\; {\sum\limits_{ij}\; X_{r,{({ij})}}^{({s,d})}}} \leq {H^{({s,d})}\mspace{14mu} {\forall\left( {s,d} \right)}}}\mspace{79mu} {{\sum\limits_{k}\; Z_{m,k}^{0}} \leq {1\mspace{14mu} {\forall m}}}}} & (17) \\ {\mspace{79mu} {{\sum\limits_{k}\; \left( {Z_{m,k}^{1} + Z_{m,k}^{2}} \right)} \leq {\sum\limits_{k}\; {s_{m,k}Z_{m,k}^{0}\mspace{14mu} {\forall m}}}}} & (18) \\ {\mspace{79mu} {{E_{r,m} \leq {\sum\limits_{k}\; {p_{r,k}Z_{m,k}^{1}\mspace{14mu} {\forall r}}}},m}} & (19) \\ {{\sum\limits_{j}\; {U_{r}\left( {\max\left\lbrack {{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({mj})}}^{({s,d})}}},{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({jm})}}^{({s,d})}}}} \right\rbrack} \right)}} \leq {\sum\limits_{k}\; {p_{r,k}Z_{m,k}^{2}}}} & (20) \\ {\mspace{79mu} {{{\sum\limits_{r}\; {U_{r}\left( {\max\left\lbrack {{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({ij})}}^{({s,d})}}},{\sum\limits_{({s,d})}\; {B^{({s,d})}X_{r,{({ji})}}^{({s,d})}}}} \right\rbrack} \right)}} \leq {LA}_{i,j}}\mspace{79mu} {{\forall r},{\left( {i,j} \right) \in E}}}} & (5) \end{matrix}$

FIGS. 27 to 29 are explanatory views of a method implemented by applying a design method that assumes a chassis type device to the method illustrated in FIGS. 15 to 18.

This method handles a case where the method illustrated in FIGS. 24 to 26 is processed with an incremental approach.

-   -   objective function change

Minimizes the cost (the amount of power consumption) of a device package to be arranged in a network in order to ensure a given traffic transfer state to be accommodated. Assume that one device is configured with components such as a common part (p=0), a low-speed NW card (p=1), and a high-speed NW card (p=2).

$\begin{matrix} {{Minimize}\mspace{14mu} \left\{ {{\sum\limits_{m}\; {\sum\limits_{k}\; {\sum\limits_{p}\; \left( {C_{m,k}^{p}*Z_{m,k}^{p}} \right)}}} + {\sum\limits_{r}\; {\sum\limits_{ij}\; \left( {\delta_{r}*X_{r,{({i,j})}}} \right)}}} \right\}} & (21) \end{matrix}$

where

C^(p) _(m,k):

is the cost (the amount of power consumption) of the card type k in the device component p that can be deployed at the site m.

-   -   design variable change

$Z_{m,k}^{p}\left\{ \begin{matrix} {\in \left\{ {0,1} \right\}} & {{p = {0\mspace{14mu} \begin{matrix} {{existence}\text{/}{absence}\mspace{14mu} {of}\mspace{14mu} a\mspace{14mu} {common}} \\ {{part}\mspace{14mu} k\mspace{14mu} {at}\mspace{14mu} a\mspace{14mu} {site}{\; \mspace{11mu}}{m\left( {\in V} \right)}} \end{matrix}}}\;} \\ {\in Z} & {{p = 1},{2\mspace{31mu} \begin{matrix} {{mounting}\mspace{14mu} {number}\mspace{14mu} {of}} \\ {{NW}\mspace{14mu} {cards}\mspace{14mu} k\mspace{14mu} {at}\mspace{14mu} a\mspace{14mu} {site}\mspace{14mu} {m\left( {\in V} \right)}} \end{matrix}}} \end{matrix} \right.$

-   -   constraint condition change         “expansion change of the formula (8)”     -   package selection constraint: the number of common parts (p=0)         selected at the site m is one or less.

$\begin{matrix} {{{{\sum\limits_{k}\; Z_{m,k}^{p}} \leq {1\mspace{14mu} p}} = 0},{\forall m}} & (22) \end{matrix}$

“new additions”

-   -   slot number constraint of the common part: the number of NW         cards that can be included in a device p=0 should be equal to or         smaller than the number of slots possessed by each common part.

$\begin{matrix} {{\sum\limits_{k}\; \left( {Z_{m,k}^{1} + Z_{m,k}^{2}} \right)} \leq {\sum\limits_{k}\; {s_{m,k}Z_{m,k}^{0}\mspace{14mu} {\forall m}}}} & (23) \end{matrix}$

where

S_(m,k):

is the number of slots included in the common part k that can be arranged at the site m. “Expansion in consideration of the low-speed NW card in the formula (9)”.

-   -   port number constraint of the low-speed NW card (p=1): the         number of ports of the line type r used as Source/Destination of         traffic, should be equal to or smaller than the number of ports         mounted on the low-speed NW card k.

$\begin{matrix} {{E_{r,m} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{1}}}}{{\forall r},m}} & (24) \end{matrix}$

where

p_(r,k):

indicates the number of ports of the line type r mounted on the low-speed NW card (k).

E_(r,m):

indicates the number of ports of the line type r used as Source/Destination of traffic at the site m. “expansion of the high-speed NW card in the formula (9)”

-   -   port number constraint of the high-speed NW card (p=2)

$\begin{matrix} {{{{\sum\limits_{j}\left\{ {{\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{mj}} \right),R_{jm}} \right\rbrack} \right)} - u_{m,j}^{r}} \right)X_{r,{({mj})}}} - {\sum\limits_{q \neq r}\left\{ {u_{m,j}^{r}X_{r,{({mj})}}} \right\}} + {\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{jm}} \right),R_{mj}} \right\rbrack} \right)} - u_{j,m}^{r}} \right)X_{r,{({jm})}}} - {\sum\limits_{q \neq r}\left\{ {u_{j,m}^{r}X_{q,{({jm})}}} \right\}} + u_{m,j}^{r}} \right\}} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{2}}}}\mspace{79mu} {{\forall r},m}}\mspace{65mu}} & (25) \end{matrix}$

The problem set with the above described method is summarized below. Definitions of the formulas and the variables are summarized in FIG. 27.

$\begin{matrix} {\mspace{79mu} {{Minimize}\mspace{79mu} {{\sum\limits_{m}{\sum\limits_{k}{\sum\limits_{p}\left( {C_{m,k}^{p}*Z_{m,k}^{p}} \right)}}} + {\sum\limits_{r}{\sum\limits_{ij}\left( {\delta_{r}*X_{r,{({ij})}}} \right)}}}\mspace{79mu} {{subject}\mspace{14mu} {to}}}} & (21) \\ {\mspace{79mu} {{\sum\limits_{r}\left( {{\sum\limits_{j}X_{r,{({ij})}}} - {\sum\limits_{j}X_{r,{({ji})}}}} \right)} = \left\{ {{\begin{matrix} 1 & {{\forall i} = s} \\ {- 1} & {{\forall i} = d} \\ 0 & {{\forall{i \neq s}},d} \end{matrix}\mspace{79mu} {\sum\limits_{r}{\sum\limits_{ij}X_{r,{({i,j})}}}}} \leq H} \right.}} & (9) \\ {\mspace{79mu} {{{\sum\limits_{k}Z_{m,k}^{0}} \leq 1}\mspace{79mu} {\forall m}}} & (22) \\ {\mspace{79mu} {{{\sum\limits_{k}\left( {Z_{m,k}^{1} + Z_{m,k}^{2}} \right)} \leq {\sum\limits_{k}{s_{m,k}Z_{m,k}^{0}}}}\mspace{79mu} {\forall m}}} & (23) \\ {\mspace{79mu} {{E_{r,m} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{1}}}}\mspace{79mu} {{\forall r},m}}} & (24) \\ {{{{\sum\limits_{j}\left\{ {{\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{mj}} \right),R_{jm}} \right\rbrack} \right)} - u_{m,j}^{r}} \right)X_{r,{({mj})}}} - {\sum\limits_{q \neq r}\left\{ {u_{m,j}^{r}X_{q,{({mj})}}} \right\}} + {\left( {{U_{r}\left( {\max \left\lbrack {\left( {B + R_{jm}} \right),R_{mj}} \right\rbrack} \right)} - u_{j,m}^{r}} \right)X_{r,{({jm})}}} - {\sum\limits_{q \neq r}\left\{ {u_{j,m}^{r}X_{q,{({jm})}}} \right\}} + u_{m,j}^{r}} \right\}} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{2}}}}\mspace{79mu} {{\forall r},m}}\mspace{65mu}} & (25) \\ {\mspace{79mu} {{{{U_{r}\left( {\max \left\lbrack {{B^{r} + R_{ij}},R_{ji}} \right\rbrack} \right)}X_{r,{({ij})}}} \leq {LA}_{r,{\{{i,j}\}}}}\mspace{79mu} {\forall{\left\{ \left( {i,j} \right) \right\} \in E}}}} & (10) \end{matrix}$

Design Example

A route/device configuration and a line type are designed for the demand 1 by taking FIG. 28 as an example. Assume that two types such as a 10 G line (line type r=1) and a 40 G line (r=2) are used as lines between the sites 1 and 2 and a link aggregation is not performed (LA_(r(1,2))=1). Also assume a state where 30-Gbps background traffic already occurs between the sites 1->2, and 10-Gbps background traffic already occurs between the sites 2->1.

1. Design Model

     Minimize 100Z_(1, A)⁰ + 200Z_(1, B)⁰ + 10Z_(1, C)¹ + 20Z_(1, D)¹ + 20Z_(1, E)² + 30Z_(1, F)² + 100Z_(2, A)⁰ + 200Z_(2, B)⁰ + 10Z_(2, C)¹ + 20Z_(2, D)¹ + 20Z_(2, E)² + 30Z_(2, F)² + 0.001X_(1, (12)) + 0.001X_(1, (21)) + 0.002X_(2, (12)) + 0.002X_(2, (21))      subject  to      X_(1, (12)) + X_(2, (12)) − X_(1, (21)) − X_(2, (21)) = 1      X_(1, (21)) + X_(2, (21)) − X_(1, (12)) − X_(2, (12)) = 1      Z_(1, A)⁰ + Z_(1, B)⁰ ≤ 1      Z_(2, A)⁰ + Z_(2, B)⁰ ≤ 1      Z_(1, C)¹ + Z_(1, D)¹ + Z_(1, E)² + Z_(1, F)² ≤ 10Z_(1, A)⁰ + 20Z_(1, B)⁰      Z_(2, C)¹ + Z_(2, D)¹ + Z_(2, E)² + Z_(2, F)² ≤ 10Z_(2, A)⁰ + 20Z_(2, B)⁰      10 ≤ 0Z_(1, C)¹ + 8Z_(1, D)¹      10 ≤ 0Z_(2, C)¹ + 8Z_(2, D)¹((U₁(40) − U₁(30))X_(1, (12)) − U₁(30)X_(2, (12))) + ((U₁(30) − U₁(30))X_(1, (21)) − U₁(30)X_(2, (21))) + U₁(30) ≤ 4Z_(1, E)² + 0Z_(1, F)²((U₂(40) − U₂(30))X_(2, (12)) − U₂(30)X_(1, (12))) + ((U₂(30) − U₂(30))X_(2, (21)) − U₂(30)X_(1, (21))) + U₂(30) ≤ 0Z_(1, E)² + 2Z_(1, F)²((U₁(40) − U₁(30))X_(1, (12)) − U₁(30)X_(2, (12))) + ((U₁(30) − U₁(30))X_(1, (21)) − U₁(30)X_(2, (21))) + U₁(30) ≤ 4Z_(2, E)² + 0Z_(2, F)²((U₂(40) − U₂(3))X_(2, (12)) − U₂(30)X_(1, (12))) + ((U₂(30) − U₂(30))X_(2, (21)) − U₂(30)X_(1, (21))) + U₂(30) ≤ 0Z_(2, E)² + 2Z_(2, F)²      U₁(40)X_(1, (12)) + U₂(40)X_(2, (12)) ≤ 1      U₁(30)X_(1, (21)) + U₂(30)X_(2, (21)) ≤ 1

where U₁( ) is a function to obtain the number of ports by assuming the 10 G line, and U₂( ) is a function to obtain the number of ports by assuming the 40 G line. Accordingly, for example, coefficients U₁(40)=4, U₂(40)=1 are obtained.

2. Design Solution to the Demand 1

A computation using the solver results in “X_(2,(1,2))=1, Z⁰ _(1,A)=1, Z¹ _(1,D)=2, Z² _(1,F)=1, Z⁰ _(2,A)=1, Z¹ _(2,D)=2, Z² _(2,F)=1, the other design variables=0”. Namely, two low-speed cards D, one high-speed card F and the common part A are selected for the sites 1 and 2, and a route via the 40 G line between the sites 1 and 2 is designed for the demand 1.

3. Example of a Data Structure when R (lp_solve) is Applied

FIG. 29 illustrates an image of a data structure when the above described model is applied to R(lp_solve). Output data of FIG. 29 indicates that an output of “X_(2,(1,2))=1, Z⁰ _(1,A)=1, Z¹ _(1,D)=2, Z² _(1,F)=1, Z⁰ _(2,A)=1, Z¹ _(2,D)=2, Z² _(2,F)=1, the other design variables=0” is obtained.

FIGS. 30 to 32 are explanatory views of a method implemented by applying a design method that assumes a chassis type device to the method illustrated in FIGS. 19 to 23.

objective function change

Minimizes the cost (the amount of power consumption) of a device package to be arranged in a network when a given traffic demand is accommodated. Assume that one device is configured with components such as a common part (p=0), a low-speed NW card (p=1), and a high-speed NW card (p=2).

$\begin{matrix} {{Minimize}\left\{ {{\sum\limits_{m}{\sum\limits_{k}{\sum\limits_{p}\left( {C_{m,k}^{p}*Z_{m,k}^{p}} \right)}}} + {\sum\limits_{r}{\sum\limits_{ij}\left( {\delta_{r}*L_{r,{({i,j})}}} \right)}}} \right\}} & (26) \end{matrix}$

where

C^(p) _(m,k):

indicates the cost (the amount of power consumption) of the card type k in the device component p that can be arranged at the site m.

-   -   design variable change

$Z_{m,k}^{p}\left\{ \begin{matrix} {{\in {\left\{ {0,1} \right\} p}} = {0\mspace{14mu} {{existence}/{absence}}\mspace{14mu} {of}\mspace{14mu} a\mspace{14mu} {common}\mspace{14mu} {part}\mspace{14mu} k\mspace{14mu} {at}\mspace{14mu} a\mspace{14mu} {site}\mspace{14mu} {m\left( {\in V} \right)}}} \\ {{{\in {Z\mspace{14mu} p}} = 1},{2\mspace{14mu} {mounting}\mspace{14mu} {number}\mspace{14mu} {of}\mspace{14mu} N\; W\mspace{14mu} {cards}\mspace{14mu} k\mspace{14mu} {at}\mspace{14mu} a\mspace{14mu} {site}\mspace{14mu} {m\left( {\in V} \right)}}} \end{matrix} \right.$

-   -   constraint condition changes         “expansion change of the formula (12)”     -   package selection constraint: the number of common parts (p=0)         selected at the site m is one or less.

$\begin{matrix} {{{\sum\limits_{k}Z_{m,k}^{p}} \leq 1}{{p = 0},{\forall m}}} & (27) \end{matrix}$

“new additions”

-   -   slot number constraint of the common part (p=0): the number of         NW cards that can be included within a device should be equal to         or smaller than the number of slots possessed by each common         part.

$\begin{matrix} {{{\sum\limits_{k}\left( {Z_{m,k}^{1} + Z_{m,k}^{2}} \right)} \leq {\sum\limits_{k}{s_{m,k}Z_{m,k}^{0}}}}{\forall m}} & (28) \end{matrix}$

where

s_(m,k):

indicates the number of slots included in the common part k that can be arranged at the site m. “Expansion of the low-speed NW card in the formula (14)”

-   -   port number constraint of the low-speed NW card (p=1): the         number of ports of the line type r used as Source/Destination of         traffic, should be equal to or smaller than the number of ports         mounted on the low-speed NW card k.

$\begin{matrix} {{E_{r,m} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{1}}}}{{\forall r},m}} & (29) \end{matrix}$

where

p_(r,k):

indicates the number of ports of the line type r mounted on the low-speed NW card (k).

E_(r,m):

indicates the number of ports of the line type r used as Source/Destination of traffic at the site m. “Expansion of the high-speed NW card in the formula (14)”

-   -   port number constraint of the high-speed NW card (p=2)

$\begin{matrix} {{{\sum\limits_{j \neq m}{{U_{r}\left( {\max \left\lbrack {R_{mj},R_{jm}} \right\rbrack} \right)}L_{r,{({m,j})}}}} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{2}}}}{{\forall r},m}} & (30) \end{matrix}$

The problem set with the above described method is summarized below. Definitions of the formulas and the variables are summarized in FIG. 26.

$\begin{matrix} {{Minimize}{{\sum\limits_{m}{\sum\limits_{k}{\sum\limits_{p}\left( {C_{m,k}^{p}*Z_{m,k}^{p}} \right)}}} + {\sum\limits_{r}{\sum\limits_{ij}\left( {\delta_{r}*L_{r,{({ij})}}} \right)}}}{{subject}\mspace{14mu} {to}}} & (26) \\ {{{\sum\limits_{k}Z_{m,k}^{0}} \leq 1}{\forall m}} & (27) \\ {{{\sum\limits_{r}L_{r,{({i,j})}}} = 1}{\forall\left( {i,j} \right)}} & (13) \\ {{{\sum\limits_{k}\left( {Z_{m,k}^{1} + Z_{m,k}^{2}} \right)} \leq {\sum\limits_{k}{s_{m,k}Z_{m,k}^{0}}}}{\forall m}} & (28) \\ {{E_{r,m} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{1}}}}{{\forall r},m}} & (29) \\ {{{\sum\limits_{j \neq m}{{U_{r}\left( {\max \left\lbrack {R_{mj},R_{jm}} \right\rbrack} \right)}L_{r,{({m,j})}}}} \leq {\sum\limits_{k}{p_{r,k}Z_{m,k}^{2}}}}{{\forall r},m}} & (30) \\ {{{\sum\limits_{r}{{U_{r}\left( {\max \left\lbrack {R_{ij},R_{ji}} \right\rbrack} \right)}L_{r,{({i,j})}}}} \leq {LA}_{r,{\{{i,j}\}}}}{\forall{\left( {i,j} \right) \in E}}} & (15) \end{matrix}$

Design Example

A device configuration and a line type are designed based on a given traffic state by taking FIG. 31 as an example. Assume that two types such as a 10 G line (line type r=1) and a 40 G line (r=2) are used as lines between the sites 1 and 2 and a link aggregation is not performed (LA_(r(1,2))=1). Also assume a state where 15-Gbps traffic occurs between the sites 1->2 and 20-Gbps traffic occurs between the sites 2->1.

1. Design Model

     Minimize 100Z_(1, A)⁰ + 200Z_(1, B)⁰ + 10Z_(1, C)¹ + 20Z_(1, D)¹ + 20Z_(1, E)² + 30Z_(1, F)² + 100Z_(2, A)⁰ + 200Z_(2, B)⁰ + 10Z_(2, C)¹ + 20Z_(2, D)¹ + 20Z_(2, E)² + 30Z_(2, F)² + 0.001L_(1, (1, 2)) + 0.002L_(2, (1, 2))      subject  to      Z_(1, A)⁰ + Z_(1, B)⁰ ≤ 1      Z_(2, A)⁰ + Z_(2, B)⁰ ≤ 1      L_(1, (1, 2)) + L_(2, (1, 2)) = 1      Z_(1, C)¹ + Z_(1, D)¹ + Z_(1, E)² + Z_(1, F)² ≤ 10Z_(1, A)⁰ + 20Z_(1, B)⁰      Z_(2, C)¹ + Z_(2, D)¹ + Z_(2, E)² + Z_(2, F)² ≤ 10Z_(2, A)⁰ + 20Z_(2, B)⁰      75 ≤ 0Z_(1, C)¹ + 24Z_(1, D)¹      55 ≤ 0Z_(2, C)¹ + 24Z_(2, D)¹      U₁(20)L_(1, (1, 2)) ≤ 4Z_(1, E)² + 0Z_(1, E)²      U₂(20)L_(2, (1, 2)) ≤ 0Z_(1, E)² + 2Z_(1, E)²      U₁(20)L_(1, (1, 2)) ≤ 4Z_(2, E)² + 0Z_(2, E)²      U₂(20)L_(2, (1, 2)) ≤ 0Z_(2, E)² + 2Z_(2, E)²      U₁(20)L_(1, (1, 2)) + U₂(20)L_(2, (1, 2)) ≤ 1

2. Design Solution

A computation using the solver results in “L_(2(1,2))=1, Z⁰ _(1,A)=1, Z¹ _(1,D)=4, Z² _(1,F)=1, Z⁰ _(2,A)=1, Z¹ _(2,D)=3, Z² _(2,F)=1, the other design variables=0”. Namely, four low-speed NW cards D and one high-speed NW card F are selected for the site 1, three low-speed NW cards D, one high-speed card F and a common part A are selected for the site 2, and a route via the 40 G line between the sites 1 and 2 is designed for the demand 1.

3. Example of a Data Structure when R (lp_solve) is Applied

FIG. 32 illustrates an image of a data structure when the above described model is applied to R(lp_solve). Output data illustrated in FIG. 32 indicates that an output of “L_(2,(1,2))=1, Z⁰ _(1,A)=1, Z¹ _(1,D)=4, Z² _(1,F)=1, Z⁰ _(2,A)=1, Z¹ _(2,D)=3, Z² _(2,F)=1, the other design variables=0” is obtained.

FIG. 33 illustrates an example of a hardware configuration of a computer needed when the design method according to this embodiment is executed with a program.

The design method according to this embodiment can be executed with the program. The computer 39 that executes the program may be a standalone machine, or a network device, connected to a target network 50 via a communication interface 44, for automatically setting a network device of the target network 50.

The computer 39 includes a CPU 41 that executes the program. The computer 39 also includes a storage device 45 such as a hard disk or the like for storing the program, a RAM 42 as a working area used to expand and execute the program, a ROM 43 for storing a program that controls basic functions of the computer 39, an input/output device 48 such as a keyboard, a display, a mouse and the like, and a communication interface 44 for making an external communication. Moreover, a recording medium reading device 46 reads a program from a portable storage medium 47, such as a DVD, a CD, a flexible disc, an IC memory or the like, for storing the program. These components are interconnected by a bus 40.

The program for executing the method according to this embodiment is stored in the storage device 45 or recorded on the portable recording medium 47. When being executed, the program is read from the storage device 45 or the portable recording medium 47, and expanded and executed in the RAM 42.

A user generates a design model when executing the design method according to this embodiment, and configures the design model as input data to a solver given as a program. The input data is input from the input/output device 48, the CPU is caused to execute the program, and a display unit or the like is caused to display design results. Consequently, the user can learn how to configure a network based on the display of the display unit.

The program can be downloaded and executed from a database possessed by an information provider 49 at a different site via a network connected to the communication interface 44, or can be executed in a network environment.

If the computer 39 is a network management device connected to the network 50 to be designed via the communication interface 44, data needed to configure a design model for executing the program can be collected from the target network. Furthermore, design contents may be automatically reflected on the target network 50 by transmitting design information obtained after the program is executed from the communication interface 44 to the target network 50 as a command.

All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention. 

1. A network design system for designing a path and a device configuration, which are demanded for a network, comprising: a setting unit configured to set an objective function that indicates a device cost, and a constraint condition to be considered when the objective function is minimized by using information of a band of a path demanded between a starting site and an end site of the demanded path, a type of a device candidate that can be arranged at each site, and information of a type of a port and the number of ports in each device; and a deriving unit configured to derive how to arrange a path, how to arrange a device, a type of a used port and the number of ports by obtaining a solution to a mathematical programming problem for minimizing the objective function under the constraint condition.
 2. The network design system according to claim 1, wherein a path, a device and the number of ports are derived so that a device cost for adding a newly demanded path is minimized when the newly demanded path is sequentially added to the network where a path is already arranged.
 3. The network design system according to claim 1, wherein a path to be arranged is predetermined, and how to arrange a device, which minimizes the device cost, is derived.
 4. The network design system according to claim 1, wherein a cost needed to lay a path is included in the device cost.
 5. The network design system according to claim 4, wherein a device to be used is predetermined, and how to arrange a path and the number of used ports are derived.
 6. The network design system according to claim 1, wherein how to allocate traffic is predetermined, and how to arrange a device, a type of a used port and the number of ports are derived.
 7. The network design system according to claim 1, wherein if a network card having a port of a different type can be mounted in the device, how to arrange a network card is derived instead of how to arrange a device.
 8. A network design method of designing a path and a device configuration, which are demanded for a network, by using a computer, the method causing the computer to derive how to arrange a path, how to arrange a device, a type of a used port, and the number of ports by obtaining a solution to a mathematical programming problem for minimizing an objective function under a constraint condition with the use of information of a band demand of a path newly demanded between a starting site and an end site of the demanded path, a type of a device candidate that can be arranged at each site, and information of the number of ports in each device, the mathematical programming problem including the objective function that indicates a device cost, and the constraint condition to be considered when the objective function is minimized.
 9. A non-transitory storage medium storing a program for causing a computer to implement a network design method of designing a path and a device configuration, which are demanded for a network, the program causing the computer to derive how to arrange a path, how to arrange a device, a type of a used port, and the number of ports by obtaining a solution to a mathematical programming problem for minimizing an objective function under a constraint condition with the use of information of a band demand of a path newly demanded between a starting site and an end site of the demanded path, a type of a device candidate that can be arranged at each site, and information of the number of ports in each device, the mathematical programming problem including the objective function that indicates a device cost, and the constraint condition to be considered when the objective function is minimized. 